function one() {
  var a = 1;
  debugger;
  function two() {
    var b = 1;
    debugger;
    function three() {
      var c = 1;
      debugger;
    }
    three();
    debugger;
  }
  two();
  debugger;
}
one();


var globalExecuteContext = {
  VO: { setTimeout: 'setTimeout' }
}
var executeContextStack = [globalExecuteContext];
var oneExecuteContext = {
  VO: { a: 1 }
}
executeContextStack.push(oneExecuteContext);
var twoExecuteContext = {
  VO: { b: 2 }
}
executeContextStack.push(twoExecuteContext);
var threeExecuteContext = {
  VO: { c: 3 }
}
executeContextStack.push(threeExecuteContext);
console.log(executeContextStack);

executeContextStack.pop();
executeContextStack.pop();
executeContextStack.pop();
